for循环第二个参数a[i]的作用

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:43:19
char a[10]="abc";
int i;
for (i = 0; a[i]; i++)
if (a[i]<0) {
printf("Chinese :%c%c\n",a[i],a[i+1]);
i++;
}

请问这里for (i = 0; a[i]; i++)中的第二个参数a[i]在这里如何起作用呢?谢谢!

a[i]是个判断,在这里相当于if(a[i]),而if(a[i])也就是
a[i]!=0,在ASCII码中0代表的是'\0',所以整个这句话相当于
for (i = 0; a[i]!='\0'; i++)
'\0'在C语言里是判断字符串结束的标志符。
并且我在这里推荐你以后写成a[i]!='\0'形式,容易理解。

a[i]是一个判断条件 当遇到'\0'的时候便会跳出循环

a[i]!='\0'